#import <UIKit/UIKit.h>


extern CGFloat const kFWListViewDotSize;
extern CGFloat const kFWListViewMarkerSpace;
extern CGFloat const kFWListViewMarkerSize;
extern CGFloat const kFWListViewDetailMargin;
extern CGFloat const kFWListViewSeparatorSize;
extern CGFloat const kFWListViewMarkerInset;
extern NSInteger const kFWListViewBorderInset;
extern NSInteger const kFWListViewSeparatorSpace;


@class LITableView;
@class FWDotView;
@class FWIconDotView;
@class FWRoundedLabel;


@interface FWListView : UIView
{
    BOOL singleLine;
    BOOL expandSingleLine;
    BOOL drawBorder;
    CGFloat largestIcon;
    CGFloat leftReservedSpace;
    CGFloat rightReservedSpace;
    LILabel* headerText;
    LILabel* summaryText;
    LILabel* detailText;
    
    BOOL abbreviateDetail;
}

@property (retain) FWDotView* dot;
@property (nonatomic, retain) LILabel* summaryText;
@property (nonatomic, retain) LILabel* detailText;
@property (nonatomic, retain) LILabel* headerText;
@property (nonatomic, retain) NSString* detailTextAlternate;
@property (assign) BOOL abbreviateDetail;
@property (retain) FWRoundedLabel* highlightText;
@property (retain) UIImageView* headerBackground;
@property (retain) NSArray* flags;
@property (assign) BOOL drawBorder;

@property (assign) CGFloat largestIcon;
@property (assign) CGFloat leftReservedSpace;
@property (assign) CGFloat rightReservedSpace;
@property (assign) BOOL singleLine;
@property (assign) BOOL expandSingleLine;


- (id)initWithFrame:(CGRect)frame theme:(LITheme*)theme;
- (void)dealloc;

+ (CGFloat)heightOfSummaryRowWithFont:(UIFont*)font withHeader:(BOOL)header withFollowingRow:(BOOL)following;
+ (CGFloat)heightOfDetailRowWithFont:(UIFont*)font;

- (void)layoutSummaryRow:(CGRect)rect;
- (void)layoutDetailRow:(CGRect)rect;
- (void)layoutSubviews;

- (void)addHeader:(LITheme*)theme;
- (void)removeHeader;

@end
